[INFO] cloning repository https://github.com/rlcurrall/rlox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rlcurrall/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frlcurrall%2Frlox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frlcurrall%2Frlox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fb276ad07ebaeb270af462e31e76aba6a29ca8c9
[INFO] testing rlcurrall/rlox against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frlcurrall%2Frlox" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rlcurrall/rlox
[INFO] finished tweaking git repo https://github.com/rlcurrall/rlox
[INFO] tweaked toml for git repo https://github.com/rlcurrall/rlox written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rlcurrall/rlox on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rlcurrall/rlox already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 060ab530b65ce50f865fb89f1b531fd7d8e46cafada683f0d3e324111cf7b0ed
[INFO] running `Command { std: "docker" "start" "-a" "060ab530b65ce50f865fb89f1b531fd7d8e46cafada683f0d3e324111cf7b0ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "060ab530b65ce50f865fb89f1b531fd7d8e46cafada683f0d3e324111cf7b0ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "060ab530b65ce50f865fb89f1b531fd7d8e46cafada683f0d3e324111cf7b0ed", kill_on_drop: false }`
[INFO] [stdout] 060ab530b65ce50f865fb89f1b531fd7d8e46cafada683f0d3e324111cf7b0ed
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bbac600a35f114000c90d550967202a333d1ac5fd8e862a21795830572dcddf1
[INFO] running `Command { std: "docker" "start" "-a" "bbac600a35f114000c90d550967202a333d1ac5fd8e862a21795830572dcddf1", kill_on_drop: false }`
[INFO] [stderr]    Compiling rlox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/parser.rs:408:17
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                 loop {
[INFO] [stdout] 400 | |                     if arguments.len() > 255 {
[INFO] [stdout] 401 | |                         // todo - improve this error
[INFO] [stdout] 402 | |                         return Err(RuntimeError::general_error("Too many arguments"));
[INFO] [stdout] ...   |
[INFO] [stdout] 405 | |                     arguments.push(self.assignment()?);
[INFO] [stdout] 406 | |                 }
[INFO] [stdout]     | |_________________- any code following this expression is unreachable
[INFO] [stdout] 407 |
[INFO] [stdout] 408 |                   todo!();
[INFO] [stdout]     |                   ^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `offset` is never read
[INFO] [stdout]   --> src/error.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ScanError {
[INFO] [stdout]    |     --------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 29 |         offset: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ParseError` and `InvalidArgumentTarget` are never constructed
[INFO] [stdout]   --> src/error.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum RuntimeError {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 32 |     ParseError(String, Token),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 33 |     InvalidArgumentTarget(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `general_error` is never used
[INFO] [stdout]   --> src/error.rs:47:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl RuntimeError {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub(crate) fn general_error(message: &str) -> Self {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]  --> src/parser.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct Parser {
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl Parser {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 108 |     pub(crate) fn new(tokens: Vec<Token>) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub(crate) fn parse(&mut self) -> Result<Vec<Stmt>> {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn previous(&self) -> Token {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     fn current(&self) -> Token {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     fn advance(&mut self) -> Token {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn is_match(&mut self, types: &[TokenValue]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn is_at_end(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     fn peek(&self) -> Result<Token> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     fn consume(&mut self, expected: TokenValue, message: &str) -> Result<Token> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     fn consume_identifier(&mut self, message: &str) -> Result<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     fn declaration(&mut self) -> Result<Stmt> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     fn statement(&mut self) -> Result<Stmt> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     fn block(&mut self) -> Result<Stmt> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     fn expression_statement(&mut self) -> Result<Stmt> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn expression(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     fn assignment(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn logic_or(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     fn logic_and(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     fn equality(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     fn comparison(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     fn term(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     fn factor(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     fn unary(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     fn call(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |     fn primary(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Stmt` is never used
[INFO] [stdout]    --> src/parser.rs:462:10
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub enum Stmt {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expr` is never used
[INFO] [stdout]    --> src/parser.rs:468:10
[INFO] [stdout]     |
[INFO] [stdout] 468 | pub enum Expr {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Literal` is never used
[INFO] [stdout]    --> src/parser.rs:524:10
[INFO] [stdout]     |
[INFO] [stdout] 524 | pub enum Literal {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value`, `lexeme`, and `line` are never read
[INFO] [stdout]  --> src/token.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Token {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 5 |     pub value: TokenValue,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 6 |     pub lexeme: String,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 7 |     pub line: usize,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Token` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.70s
[INFO] running `Command { std: "docker" "inspect" "bbac600a35f114000c90d550967202a333d1ac5fd8e862a21795830572dcddf1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bbac600a35f114000c90d550967202a333d1ac5fd8e862a21795830572dcddf1", kill_on_drop: false }`
[INFO] [stdout] bbac600a35f114000c90d550967202a333d1ac5fd8e862a21795830572dcddf1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 02859c0b0a0c0530aebe3bed3c4eae6bacbddb4c5f62d0e8e8e1d5c75ac83bd7
[INFO] running `Command { std: "docker" "start" "-a" "02859c0b0a0c0530aebe3bed3c4eae6bacbddb4c5f62d0e8e8e1d5c75ac83bd7", kill_on_drop: false }`
[INFO] [stderr]    Compiling rlox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/parser.rs:408:17
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                 loop {
[INFO] [stdout] 400 | |                     if arguments.len() > 255 {
[INFO] [stdout] 401 | |                         // todo - improve this error
[INFO] [stdout] 402 | |                         return Err(RuntimeError::general_error("Too many arguments"));
[INFO] [stdout] ...   |
[INFO] [stdout] 405 | |                     arguments.push(self.assignment()?);
[INFO] [stdout] 406 | |                 }
[INFO] [stdout]     | |_________________- any code following this expression is unreachable
[INFO] [stdout] 407 |
[INFO] [stdout] 408 |                   todo!();
[INFO] [stdout]     |                   ^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `offset` is never read
[INFO] [stdout]   --> src/error.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ScanError {
[INFO] [stdout]    |     --------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 29 |         offset: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ParseError` and `InvalidArgumentTarget` are never constructed
[INFO] [stdout]   --> src/error.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum RuntimeError {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 32 |     ParseError(String, Token),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 33 |     InvalidArgumentTarget(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `general_error` is never used
[INFO] [stdout]   --> src/error.rs:47:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl RuntimeError {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub(crate) fn general_error(message: &str) -> Self {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]  --> src/parser.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct Parser {
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl Parser {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 108 |     pub(crate) fn new(tokens: Vec<Token>) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub(crate) fn parse(&mut self) -> Result<Vec<Stmt>> {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn previous(&self) -> Token {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     fn current(&self) -> Token {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     fn advance(&mut self) -> Token {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn is_match(&mut self, types: &[TokenValue]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn is_at_end(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     fn peek(&self) -> Result<Token> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     fn consume(&mut self, expected: TokenValue, message: &str) -> Result<Token> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     fn consume_identifier(&mut self, message: &str) -> Result<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     fn declaration(&mut self) -> Result<Stmt> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     fn statement(&mut self) -> Result<Stmt> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     fn block(&mut self) -> Result<Stmt> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     fn expression_statement(&mut self) -> Result<Stmt> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn expression(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     fn assignment(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn logic_or(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     fn logic_and(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     fn equality(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     fn comparison(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     fn term(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     fn factor(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     fn unary(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     fn call(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |     fn primary(&mut self) -> Result<Expr> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Stmt` is never used
[INFO] [stdout]    --> src/parser.rs:462:10
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub enum Stmt {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expr` is never used
[INFO] [stdout]    --> src/parser.rs:468:10
[INFO] [stdout]     |
[INFO] [stdout] 468 | pub enum Expr {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Literal` is never used
[INFO] [stdout]    --> src/parser.rs:524:10
[INFO] [stdout]     |
[INFO] [stdout] 524 | pub enum Literal {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value`, `lexeme`, and `line` are never read
[INFO] [stdout]  --> src/token.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Token {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 5 |     pub value: TokenValue,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 6 |     pub lexeme: String,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 7 |     pub line: usize,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Token` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.51s
[INFO] running `Command { std: "docker" "inspect" "02859c0b0a0c0530aebe3bed3c4eae6bacbddb4c5f62d0e8e8e1d5c75ac83bd7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02859c0b0a0c0530aebe3bed3c4eae6bacbddb4c5f62d0e8e8e1d5c75ac83bd7", kill_on_drop: false }`
[INFO] [stdout] 02859c0b0a0c0530aebe3bed3c4eae6bacbddb4c5f62d0e8e8e1d5c75ac83bd7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1de63c931f59d02c79373036d415bb28e912199d22b5cdf8d778bf9ef632f79e
[INFO] running `Command { std: "docker" "start" "-a" "1de63c931f59d02c79373036d415bb28e912199d22b5cdf8d778bf9ef632f79e", kill_on_drop: false }`
[INFO] [stderr] warning: unreachable statement
[INFO] [stderr]    --> src/parser.rs:408:17
[INFO] [stderr]     |
[INFO] [stderr] 399 | /                 loop {
[INFO] [stderr] 400 | |                     if arguments.len() > 255 {
[INFO] [stderr] 401 | |                         // todo - improve this error
[INFO] [stderr] 402 | |                         return Err(RuntimeError::general_error("Too many arguments"));
[INFO] [stderr] ...   |
[INFO] [stderr] 405 | |                     arguments.push(self.assignment()?);
[INFO] [stderr] 406 | |                 }
[INFO] [stderr]     | |_________________- any code following this expression is unreachable
[INFO] [stderr] 407 |
[INFO] [stderr] 408 |                   todo!();
[INFO] [stderr]     |                   ^^^^^^^ unreachable statement
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `offset` is never read
[INFO] [stderr]   --> src/error.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 26 |     ScanError {
[INFO] [stderr]    |     --------- field in this variant
[INFO] [stderr] ...
[INFO] [stderr] 29 |         offset: usize,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variants `ParseError` and `InvalidArgumentTarget` are never constructed
[INFO] [stderr]   --> src/error.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub enum RuntimeError {
[INFO] [stderr]    |          ------------ variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 32 |     ParseError(String, Token),
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 33 |     InvalidArgumentTarget(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `general_error` is never used
[INFO] [stderr]   --> src/error.rs:47:19
[INFO] [stderr]    |
[INFO] [stderr] 37 | impl RuntimeError {
[INFO] [stderr]    | ----------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 47 |     pub(crate) fn general_error(message: &str) -> Self {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Parser` is never constructed
[INFO] [stderr]  --> src/parser.rs:6:19
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub(crate) struct Parser {
[INFO] [stderr]   |                   ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/parser.rs:108:19
[INFO] [stderr]     |
[INFO] [stderr] 107 | impl Parser {
[INFO] [stderr]     | ----------- associated items in this implementation
[INFO] [stderr] 108 |     pub(crate) fn new(tokens: Vec<Token>) -> Self {
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 |     pub(crate) fn parse(&mut self) -> Result<Vec<Stmt>> {
[INFO] [stderr]     |                   ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 144 |     fn previous(&self) -> Token {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 148 |     fn current(&self) -> Token {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 152 |     fn advance(&mut self) -> Token {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 160 |     fn is_match(&mut self, types: &[TokenValue]) -> bool {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 167 |     fn is_at_end(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 171 |     fn peek(&self) -> Result<Token> {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 181 |     fn consume(&mut self, expected: TokenValue, message: &str) -> Result<Token> {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 192 |     fn consume_identifier(&mut self, message: &str) -> Result<Token> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 204 |     fn declaration(&mut self) -> Result<Stmt> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 216 |     fn statement(&mut self) -> Result<Stmt> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 230 |     fn block(&mut self) -> Result<Stmt> {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 242 |     fn expression_statement(&mut self) -> Result<Stmt> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 248 |     fn expression(&mut self) -> Result<Expr> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 252 |     fn assignment(&mut self) -> Result<Expr> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 274 |     fn logic_or(&mut self) -> Result<Expr> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 291 |     fn logic_and(&mut self) -> Result<Expr> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 308 |     fn equality(&mut self) -> Result<Expr> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 324 |     fn comparison(&mut self) -> Result<Expr> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 345 |     fn term(&mut self) -> Result<Expr> {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 361 |     fn factor(&mut self) -> Result<Expr> {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 377 |     fn unary(&mut self) -> Result<Expr> {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 391 |     fn call(&mut self) -> Result<Expr> {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 424 |     fn primary(&mut self) -> Result<Expr> {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Stmt` is never used
[INFO] [stderr]    --> src/parser.rs:462:10
[INFO] [stderr]     |
[INFO] [stderr] 462 | pub enum Stmt {
[INFO] [stderr]     |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Expr` is never used
[INFO] [stderr]    --> src/parser.rs:468:10
[INFO] [stderr]     |
[INFO] [stderr] 468 | pub enum Expr {
[INFO] [stderr]     |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Literal` is never used
[INFO] [stderr]    --> src/parser.rs:524:10
[INFO] [stderr]     |
[INFO] [stderr] 524 | pub enum Literal {
[INFO] [stderr]     |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `value`, `lexeme`, and `line` are never read
[INFO] [stderr]  --> src/token.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct Token {
[INFO] [stderr]   |            ----- fields in this struct
[INFO] [stderr] 5 |     pub value: TokenValue,
[INFO] [stderr]   |         ^^^^^
[INFO] [stderr] 6 |     pub lexeme: String,
[INFO] [stderr]   |         ^^^^^^
[INFO] [stderr] 7 |     pub line: usize,
[INFO] [stderr]   |         ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Token` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `rlox` (bin "rlox" test) generated 10 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rlox-db83f109e652e88a)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1de63c931f59d02c79373036d415bb28e912199d22b5cdf8d778bf9ef632f79e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1de63c931f59d02c79373036d415bb28e912199d22b5cdf8d778bf9ef632f79e", kill_on_drop: false }`
[INFO] [stdout] 1de63c931f59d02c79373036d415bb28e912199d22b5cdf8d778bf9ef632f79e
